/**
 * This class represents a client session and stores the server, user and client settings for a
 * particular client session.
 */
package org.hackystat.ui.projectviewer.client;

import java.util.ArrayList;

/**
 * @author David J. Nickles
 * 
 */
public class Session {
  private CompositeWidget compositeWidget;
  private String sensorbaseHost;
  private String telemetryHost;
  private String user;
  private String password;
  private ArrayList projects;

  /**
   * @return the sensorbaseHost
   */
  public String getSensorbaseHost() {
    return sensorbaseHost;
  }

  /**
   * @return the telemetryHost
   */
  public String getTelemetryHost() {
    return telemetryHost;
  }

  /**
   * @return the user
   */
  public String getUser() {
    return user;
  }

  /**
   * @return the password
   */
  public String getPassword() {
    return password;
  }

  /**
   * @param sensorbaseHost
   *          the sensorbaseHost to set
   */
  public void setSensorbaseHost(String sensorbaseHost) {
    this.sensorbaseHost = sensorbaseHost;
  }

  /**
   * @param telemetryHost
   *          the telemetryHost to set
   */
  public void setTelemetryHost(String telemetryHost) {
    this.telemetryHost = telemetryHost;
  }

  /**
   * @param user
   *          the user to set
   */
  public void setUser(String user) {
    this.user = user;
  }

  /**
   * @param password
   *          the password to set
   */
  public void setPassword(String password) {
    this.password = password;
  }

  /**
   * @return the compositeWidget
   */
  public CompositeWidget getCompositeWidget() {
    return compositeWidget;
  }

  /**
   * @param compositeWidget
   *          the compositeWidget to set
   */
  public void setCompositeWidget(CompositeWidget compositeWidget) {
    this.compositeWidget = compositeWidget;
  }

  /** 
   * Get the composite list of the projects and project attributes for this user.
   * @return the composite list of the projects and project attributes for this user.
   * 
   * @gwt.typeArgs <org.hackystat.ui.projectviewer.client.common.ProjectParcel>
   */
  public ArrayList getProjects() {
    return projects;
  }

  /** 
   * Set the composite list of the projects and project attributes for this user.
   * @param projects a composite list of the projects and project attributes for this user.
   * 
   * @gwt.typeArgs projects <org.hackystat.ui.projectviewer.client.common.ProjectParcel>
   */
  public void setProjects(ArrayList projects) {
    this.projects = projects;
  }
}
